Subject: Re: Some probs
From: Ernie Wright <[email-masked]>
To: Multiple recipients of list <[email-masked]>
Date: Fri, 12 Apr 1996 11:18:23 -0700

Brett Tribble wrote:

> Supposedly, the boolean functions in LW are sort of "off the shelf"
> routines which are also used in other 3D packages. I have talked to
> people who get _identical_ boolean errors in other packages when using
> the same objects.
>
> Can anyone shed any more light on this?

I don't know a lot about LW Modeler's implementation, but it's true that
many implementations of boolean operations on polygonal b-reps will tend
to share basic steps.  For objects A and B, it's something like

1. Subdivide each polygon in A that passes through a polygon in B.

2. Test each polygon in A against all polygons in B to decide whether
   it's behind (inside), in front of (outside) or coincident.

3. Based on the classification created in (2), keep or reject polygons,
   depending on the operation (e.g. A union B throws away the interior
   polygons and keeps the rest).

(This is from Foley & van Dam, 2nd ed., p. 546.)

It's a little misleading to use the phrase "off the shelf," since this
might imply that ready-made source code was just plugged into Modeler.
The errors shared between programs emerge at the level of the method, not
the implementation.

- Ernie